{
  LW Frambuf -- LightWave Framebuffers

  Frame buffer plug-ins display the current rendered frame,
  either on the screen or to another output device.

  Based on lwframbuf.h which is:
  Copyright 1999, NewTek, Inc.
}

{
  Copyright 2012, Jameel Halabi

  This unit is part of the BlaiseWave wrapper,
  which is licensed under the BSD 2-Clause license (see licenses/license.txt).
}

unit LW_Frambuf;

{$mode objfpc}{$H+}

interface

uses
  LW_Types   ,
  LW_Handler ,
  LW_Render  ;

const
  LWFRAMEBUFFER_HCLASS	= 'FrameBufferHandler'   ;
  LWFRAMEBUFFER_ICLASS	= 'FrameBufferInterface' ;
  LWFRAMEBUFFER_GCLASS	= 'FrameBufferGizmo'     ;
  LWFRAMEBUFFER_VERSION	= 5 ;

  LWFBT_UBYTE = 0 ;
  LWFBT_FLOAT = 1 ;

type
 PLWFrameBufferHandler = ^TLWFrameBufferHandler;
 TLWFrameBufferHandler = record
   Inst     : PLWInstanceFuncs                       ;
   Item     : PLWItemFuncs                           ;
   Type_    : Integer                                ;
   Open     : function
              (      Instance    : PLWInstance       ;
                     W           ,
                     H           : Integer           ) : PLWError ;
   Close    : procedure
              (      Instance    : PLWInstance       ) ;
   Begin_   : function
              (      Instance    : PLWInstance       ) : PLWError ;
   Write    : function
              (      Instance    : PLWInstance       ;
               const R           : Pointer           ;
               const G           : Pointer           ;
               const B           : Pointer           ;
               Const Alpha       : Pointer           ) : PLWError ;
   Pause    : procedure
              (      Instance    : PLWInstance       ) ;
   GetPixelmap : function
                 (      Instance    : PLWInstance       ) : PLWPixmap ;
 end;



implementation

end.

